草庐IT

php - 访问 xml 对象

全部标签

ruby - Stub ActiveRecord::Relation with ActiveRecord 对象

我不是在测试Rails应用程序。只是解决这个问题。我正在测试一个连接到相对活跃的服务器的库,按时间戳限制记录。这些返回的记录随着时间​​的推移而变化,使得测试其他限制变得更加复杂。我需要stubActiveRecord::where方法来返回我自己与我创建的对象的自定义关系,以满足我需要的标准。有点像relation=double(ActiveRecord::Relation)relation.stub(:[]).and_return([MyClass.new(...),MyClass.new(...),...])MyClass.stub(:where).and_return(rela

ruby-on-rails - 使用 authlogic_api 访问 Rails REST API

我正在为只能通过REST调用访问的Steam游戏编写Rails后端API,因此不需要特定于用户的身份验证。我正在尝试实现authlogic_apiplug-in对于Authlogicgem,它使用api_key/signature机制来限制访问。我已经实现了rdoc中概述的ApplicationSession和ApplicationAccount模型,但我不确定如何修改我的ApplicationController以限制访问。查看源代码,似乎authlogic_api插件修改了Authlogic的ActsAsAuthentic和Session模块。但由于这本质上是“单一访问”身份验证,

ruby - 在 ruby​​ 中模拟 3rd 方对象的最佳方法是什么?

我正在使用twittergem编写一个测试应用程序,我想编写一个集成测试,但我不知道如何模拟Twitter命名空间中的对象。这是我要测试的功能:defbuild_twitter(omniauth)Twitter.configuredo|config|config.consumer_key=TWITTER_KEYconfig.consumer_secret=TWITTER_SECRETconfig.oauth_token=omniauth['credentials']['token']config.oauth_token_secret=omniauth['credentials']['s

ruby - 在一堆 Rack 安装的应用程序/中间件之间共享对象的最佳/最优雅的方式?

在Rack安装的应用程序/中间件之间共享对象的最佳习惯用法是什么?例如,这个config.ru有两个Sinatra应用程序映射到不同的端点:classApp1现在,如果这两个应用程序需要共享一个对象,无论是数据库连接器还是任何其他对象,最好的习惯用法是什么?我基本上看到两个选项:1-在config.ru级别创建一个常量,并在应用程序中简单地引用该常量。例如:SHARED_OBJECT="helloworld"classApp12-在config.ru级别创建一个单例对象并在应用程序中使用它。例如:classSharedObjectincludeSingletondeftest@test

ruby - 是否有一种直接的包罗万象的方法来记录在 Ruby 中的对象上调用的方法?

有没有一种快速的方法来跟踪在对象上调用的方法?通常,当我在gem的公共(public)界面之下的级别上工作时,我会遇到难以追踪的错误。最终,我最终通过源代码跟踪对象并将所有内容都记在脑海中。但是,如果能够在对象上调用类似#log_method_calls的东西,那么,比如说,调用它的所有方法都会打印到stdout或其他东西。有什么办法可以做到这一点? 最佳答案 有几种方法可以做到这一点,视情况而定。如果可以创建一个新对象而不是被观察对象,您可以使用method_missing轻松编写一个观察者类。classLogProxydefin

ruby-on-rails - Authlogic 和单一访问 token

我很难找到有关如何使用authlogic启用单一访问token身份验证的简单教程。有一些文档,但不是很有用。我将single_access_token添加到我的数据库,我添加了这个:single_access_allowed_request_types:any到我的session类。但我仍然不明白如何使用每次调用传递的凭据参数对用户进行身份验证。我的require_authenticationbeforefilter像这样对current_user进行标准检查:defcurrent_sessionreturn@current_sessionif@current_session@curr

ruby-on-rails - 从 rspec 中的助手规范访问 session

我的ApplicationHelper中有一个方法可以检查我的购物篮中是否有任何元素moduleApplicationHelperdefhas_basket_items?basket=Basket.find(session[:basket_id])basket?!basket.basket_items.empty?:falseendend这是我必须测试的助手规范:require'spec_helper'describeApplicationHelperdodescribe'has_basket_items?'dodescribe'withnobasket'doit"shouldretu

ruby - 为什么有七个对象的新散列比六个长度的散列慢得多?

我发现当我新建一个有七个对象的哈希比六个长度的哈希要慢得多。我知道散列的长度会影响性能。但我不知道为什么七是一个特殊的。这里是基准代码(Ruby2.2.3):require'benchmark/ips'Benchmark.ipsdo|x|x.report(5){{a:0,b:1,c:2,d:3,e:4}}x.report(6){{a:0,b:1,c:2,d:3,e:4,f:5}}x.report(7){{a:0,b:1,c:2,d:3,e:4,f:5,g:6}}x.report(8){{a:0,b:1,c:2,d:3,e:4,f:5,g:6,h:7}}x.report(9){{a:0,

ruby-on-rails - Rails 中的普通旧 Ruby 对象位置

Railsn00b问题。我正在Rails中创建一个普通的旧Ruby对象。但我不确定应用程序中是否有我应该放置此对象的标准位置。谢谢 最佳答案 有多种选择,但lib目录是最常见的。如果需要初始化代码,最常见的地方是config/initializers。所以你可能有:lib/mystuff.rb和:config/initializers/mystuff.rblib/mystuff.rb包含您的ruby代码。config/initializers/mystuff.rb包含初始化您的东西的代码,在Rails启动时运行config/init

ruby - 哪些方法可以访问源代码?

有几种方法可以从需要/加载该库的Ruby代码中访问该库的源代码。在这些方式中,有的直接读取库文件并解析。其他人通过一些内置的方法访问源代码,这些方法提供有关源代码的信息(例如抽象语法树)。在我无法直接读取文件内容的情况下(如以前的方式),访问源代码的唯一方法是访问提供信息的内置方法。通过重新定义这些方法来做其他事情,我将完全失去对源代码的访问权限。最少的方法集是什么,如果我将它们重新定义为其他东西,我将完全失去对外部文件上库源代码的访问权限?重新表述问题假设:有一个用户可以在文件A中编写任何Ruby代码。有一个我写的静态Ruby文件B,它加载了文件A并调用了A中定义的主例程,还定义了一